

$(function () {
    window["cheater"] = function (p) {
        var $tbl = $("#tbl"),
            functionCallPattern = /"GetSubCount\('([^']+)',\s*'(\d+)',/i,
            $smartBoxes = $("div.smartbox", $tbl),
            sbTotal = $smartBoxes.length;

        if (sbTotal == 0) {
            return p.complete();
        }

        var processThisPage = (function () {
            var numPage = 0,
                numSend = 0,
                ajaxUrl = "fbreceivesub.php";

            return function(params) {
                p.msg("Sending " + ++numSend + "/" + sbTotal);
                $.post(ajaxUrl, {
                    data: params[1] + "---" + p.userId + "---" + params[2]
                }, function () {
                    numPage++;
                    p.msg("Cheated " + numPage + "/" + sbTotal + " items(s)!");

                    // Nếu số lượng trang đã gửi thành công bằng tổng số trang thì reload lại trang
                    if (numPage >= sbTotal) {
                        p.reload();
                    }
                });
            };
        }());



        // Tìm tất cả các lời gọi hàm VisitThisPage hợp lệ
        $smartBoxes.each(function () {
            var html = $(this).html(),
                match = functionCallPattern.exec(html);
            if (match) {
                processThisPage(match);
            } else {
                console.log("Fbsubs err: " + html);
                // Không thể xử lý được smartbox này, trừ tổng số để bỏ qua
                sbTotal--;
            }
        });

    };
});
